package com.lianjinsoft.util;

import org.springframework.amqp.AmqpException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessagePostProcessor;

/**
 * 部门：软件开发事业部
 * 功能：设置消息的失效时间
 * 描述：
 * 作成者：李磊
 * 作成时间：2019/8/8
 **/
public class ExpirationMessagePostProcessor implements MessagePostProcessor {
    // 毫秒
    private final Long ttl;
    public ExpirationMessagePostProcessor(Long ttl) {
        this.ttl = ttl;
    }
    @Override
    public Message postProcessMessage(Message message) throws AmqpException {
        // 设置per-message的失效时间
        message.getMessageProperties().setExpiration(ttl.toString());
        return message;
    }
}

